; 将data段中的数据按照如下格式写入到table中并计算21年中胡人均收入 也按照如下格式写入table中
assume cs:code,ds:data,ss:stack

data segment

    db	'1975','1976','1977','1978','1979','1980','1981','1982','1983'
    db	'1984','1985','1986','1987','1988','1989','1990','1991','1992'
    db	'1993','1994','1995'
    ;以上是表示21年的21个字符串 year 84 = 54H


    dd	16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd	345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    ;以上是表示21年公司总收入的21个dd数据	sum 21x8 = 168 = A8H

    dw	3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
        ;开始地址 A8H
    dw	11542,14430,15257,17800 ; 

data ends

table segment
                    ;0123456789ABCDEF    
		db	21 dup ('year summ ne ?? '); 长度为两个字节16位
table ends


stack segment stack
	db	128 dup (0)
stack ends



code segment

	start:	
        mov ax,stack
		mov ss,ax
		mov sp,128

		mov ax,data
		mov ds,ax			;ds:[si]	ds:[si+84]	ds:[di]

        mov ax, table

        mov es, ax

        mov si, 0   ; 年份偏移量寄存器

        mov di, 54H ; 以上是表示21年公司总收入的21个dword数据
        
        mov bp, 00A8H; 员工数量

        mov cx, 21

        mov dx, 0
        ; 取数据

cpyYear:
        push ds:[si]
                    
        pop es:[si + bx]
                    ; 年份
        push ds:[si + 2]

        pop es:[si + 2 + bx]
    ; ------------------------------------
        push ds:[di]                ;总收入

        pop es:[si + bx +5]

        push ds:[di + 2]

        pop es:[si + bx + 7]
    ; --------------------------------------------

        push ds:[bp]                
                                ; 人数
        pop es:[si + bx + 10]              

    ; ---------------------------------------------

        mov ax, ds:[di]

        mov dx, ds:[di+2]                            ; 平均收入 16位除法

        div word ptr ds:[bp]

        mov es:[ si + 13 + bx], ax  ; 存放商

    ; --------------------------------------------
        add si, 4

        add di, 4  ; 增加偏移量

        add bp, 2

        add bx, 12 
    ; ------------------------------------------------
        loop cpyYear

		mov ax,4C00H
		int 21H

code ends

end start